package com.easysoft.framework.role.model;

import com.easysoft.commons.utils.JSONUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

public class SysRole implements Serializable {

    /** 主键 */
    private String id;

    /** 角色名称 */
    private String roleName;

    /** 角色代码 */
    private String roleCode;

    /** 备注 */
    private String remark;

    /** 是否启用 0禁用 1启用 */
    private Integer disable;

    /** 创建者ID */
    private String operator;

    /** 创建时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private static final long serialVersionUID = 1L;

    /**
     * 返回主键
     *
     * @return ID
     */
    public String getId() {
        return id;
    }

    /**
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 返回角色名称
     *
     * @return ROLE_NAME
     */
    public String getRoleName() {
        return roleName;
    }

    /**
     * 设置角色名称
     *
     * @param roleName 角色名称
     */
    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    /**
     * 返回角色代码
     *
     * @return ROLE_CODE
     */
    public String getRoleCode() {
        return roleCode;
    }

    /**
     * 设置角色代码
     *
     * @param roleCode 角色代码
     */
    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode;
    }

    /**
     * 返回备注
     *
     * @return REMARK
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 返回是否启用 0禁用 1启用
     *
     * @return DISABLE
     */
    public Integer getDisable() {
        return disable;
    }

    /**
     * 设置是否启用 0禁用 1启用
     *
     * @param disable 是否启用 0禁用 1启用
     */
    public void setDisable(Integer disable) {
        this.disable = disable;
    }

    /**
     * 返回创建者ID
     *
     * @return OPERATOR
     */
    public String getOperator() {
        return operator;
    }

    /**
     * 设置创建者ID
     *
     * @param operator 创建者ID
     */
    public void setOperator(String operator) {
        this.operator = operator;
    }

    /**
     * 返回创建时间
     *
     * @return CREATE_TIME
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return JSONUtils.object2Json(this);
    }
}